Telephones no longer just transmit and receive telephone calls. Devices including cellular telephones, PDAs, laptop computers, and so on, collectively referred to as user equipment (UE), may transmit and receive telephone calls, may transmit and receive text messages, may participate in video-conferencing, may participate in multi-player gaming, may share content, and so on. These types of activities may be referred to collectively as multimedia services. In some cases these multimedia services may be provided over the Internet using the Internet Protocol (IP).
An internet protocol (IP) Multimedia Core Network Subsystem (IMS) includes core network (CN) elements for providing IP multimedia services. These IP multimedia services may include telephony (e.g., Voice over IP (VoIP)), push to talk over cellular (PoC), text messaging, and so on. Within various services, other sub-services may be provided. For example, in the telephony service, sub-services including call forwarding, call waiting, voice mail, multi-party calling, and so on, may be provided. Conventionally, each of these services and/or sub-services may have been provided by a stand-alone electronic system, computer, and/or computer system.
In the pre-IMS environment, services were specified and supported by a single logical node and/or set of nodes that performed specialized features for the service. Each service appeared as an island with its own service specific node(s). In the IMS environment, services are hosted by an application server (AS). An AS may be a physical and/or logical entity. A single AS may host multiple services (e.g., telephony, messaging) and/or a single service may require more than one AS. An AS may be described by data that characterizes various attributes like a service provider location, capability, availability, and so on. An AS set may provide similar and/or identical services to facilitate load balancing, fault tolerance, and so on. Thus, it may not be known ahead of time which particular AS will be providing a service.
IMS defines how requests for service are routed to an AS that can provide the service. IMS also may also define which protocols are supported in a communication network, how a user is charged, and so on. A user may access services via a dynamically associated, service-independent, standardized access point referred to as a call session control function (CSCF). A CSCF may be dynamically allocated to a user at log-on or when a request addressed to the user is received. Once authenticated through an IMS service, the user may access other IMS services for which the user is authorized. Authentication may be handled by the CSCF as the user signs on.
Services are not provided in a vacuum. User demand may provide a rationale for providing services. Furthermore, not all services are provided free of charge. Thus, organizations may establish IMS based communication networks to facilitate providing services to users, tracking usage, and charging users for services provided, among other things. These organizations maintain data not only about their network but also about the users (e.g., subscribers) who use the network and consume the services provided. Typically, a large database that stores a record for each subscriber may be employed. The database may store information including public and private user identities, services subscribed to, charges incurred, a subscriber's home network, a service provided by an AS, a CSCF available to handle communications, and so on.
Since a service may be provided by an AS, and since a user may subscribe to use a service, information about an AS may be stored in subscriber records. However, this creates provisioning, updating, maintenance, and other issues for database systems administrators and network administrators. By way of illustration, consider a business that manages a network having one million subscribers that use different services. Further consider that 100,000 of these subscribers use a particular service. In this situation 100,000 records may include duplicated information (e.g., AS name, AS location) concerning an AS that provides the particular service. If information concerning the AS changes, then the system administrator may need to locate the 100,000 relevant records and then update each of the 100,000 records.
Additionally, adding and/or defining a user may create issues. For example, every user that is added or defined in the database may force the administrator to have to re-provision and define AS information for the user. This creates many opportunities for errors as each record is individually provisioned with AS data.
However, the issues do not stop with database record maintenance. As described above, messages may be handled by a CSCF. Handling the message may include acquiring user information and distributing it to various switches in a communication network. For example, a logical CSCF, which may include several physical components, may acquire user information including AS information. Now if the AS information changes, not only does each user record having the AS information have to change, but so too does each CSCF component having the AS information. In a large network this switch updating may be burdensome.